Skip to content

Add a licensing and open development page#21

Merged
timlichtenberg merged 14 commits into
mainfrom
tl/license-page
Jun 9, 2026
Merged

Add a licensing and open development page#21
timlichtenberg merged 14 commits into
mainfrom
tl/license-page

Conversation

@timlichtenberg

@timlichtenberg timlichtenberg commented Jun 9, 2026

Copy link
Copy Markdown
Member

What this does

Adds a new /license/ page that explains how PROTEUS and its modules are licensed, and links it from the site navigation.

Why

Licensing across the framework spans several licenses (Apache 2.0, MIT, BSD, GPL-3.0), and the non-software assets carry their own (CC BY, CC0). Users, contributors, and institutions need one clear place that states our position: fully open source, permissively licensed at the framework level, with each module under the license its authors chose. This grew out of the discussion in #683.

Changes

  • New page _pages/license.md: open source commitment, the independent-module design, the license table, why PROTEUS uses Apache 2.0, how that works alongside GPL-3 modules, licensing of documentation/data/logos, and our credit guidance.
  • _data/settings.yml: adds the License entry to the main menu.
  • .gitignore: ignores the local preview overlay and tooling artifacts.

Testing

Page content reviewed in #683 and proofed locally. Production builds on Linux, where the root LICENSE file and the /license/ page coexist without the case collision seen on macOS.

Closes #683 once merged.

Add a /license page to the framework site that sets out how PROTEUS and its
modules are licensed, and our commitment to open, reproducible science.

The page explains that the framework only ever includes fully open source
code, that each module is an independent work which is optional and
distributed separately, why PROTEUS uses Apache 2.0 and when permissive
licenses are preferable, how Apache 2.0 works alongside GPL-3 modules, and
our commitment to crediting the developers of the code we build on. It
closes by inviting questions and discussion.
Correct the description of how modules are distributed so it matches how
PROTEUS actually packages its dependencies, soften the licensing claims
where the position is a matter of interpretation, and fix the patent and
Matplotlib wording. Repair two documentation links that pointed at 404
URLs, and add the License page to the main menu and footer.
Drop the absolute claims and filler phrasings, soften the one remaining
flat licensing assertion, and acknowledge that domain-specific solver codes
are often copyleft rather than implying permissive licensing is universal.
The Apache 2.0 section now leads with reach and follows with a
condensed patent rationale, scoped to what the license actually
grants. The GPL section states the practical cases plainly: running
PROTEUS with a GPL module privately imposes no copyleft obligation,
redistribution is governed by the GPL. A short section on development
in public repositories covers the open development promise in the
title.

Corrections: pandas did not grow out of academia, so the precedent
sentence now names Astropy instead; the modules bullet says that some
modules install from FormingWorlds-maintained forks under the
upstream license rather than claiming no re-hosting; the credit
section distinguishes license notices from scientific credit.

Also trims repetition, splits overlong sentences, and evens out the
register throughout.
The GPL section stated our reading as if it were settled. Whether
run-time coupling of independent programs forms a combined work is a
long-standing, unresolved question, and the page now says so directly.
Our position stays the same but is framed as a pragmatic view grounded
in the modular architecture, with the practical consequences explicitly
conditional on that reading.
The GPL section now opens with the point that copyleft obligations
attach when a combined work is distributed, not when programs are run,
so no sentence can be misread before the resolution arrives. The
one-way compatibility rule now speaks of code bases distributed under
each license instead of the ambiguous "project". The combined-work
boundary question now cites both readings: the Free Software
Foundation's broad one and the independent-programs reading argued
since Rosen (2003).

Adds supporting references across the page: the GNU four freedoms, the
Open Source Definition and the OSI license list, the UNESCO open
science framework, Ince et al. (2012) on reproducibility, the FAIR
principles for research software, and Woelfle et al. (2011) on open
science as a research accelerator.

Also merges the open source policy and open development sections into
one, notes that development happens dominantly under the FormingWorlds
organisation, and makes all external links open in a new tab.
Cover documentation, data, figures, and brand marks, which the page did not address before. Documentation, website text, and figures use CC BY 4.0; lookup tables, reference data, and archive deposits use CC0 1.0; logos and brand marks stay under reserved copyright with a usage note.

Explain why no asset carries a noncommercial restriction: it would fail the Open Definition and undercut the same reach that motivates the permissive software license, while attribution is already required by CC BY. Note how mixed archive deposits are handled and give CC BY-SA 4.0 as the share-alike fallback.
Correct several claims in the new assets section: name the repositories that require or default to CC0 (Dryad, figshare, Dataverse) rather than implying every repository does, since Zenodo, our own archive, defaults to CC BY; qualify that many, not all, open access journals use CC BY; describe CC0 as a public-domain dedication as far as the law allows rather than a flat placement in the public domain; and separate the trademark and copyright points for the logo.

Also resolve a mismatch between the table and the prose on archive deposits, state the journal-republication reason for keeping figures under CC BY in prose instead of only in a table cell, and add a line making explicit that the reserved logo is the single exception to otherwise open licensing.
The paragraph read as a defence against a noncommercial clause, which presumes the reader knows that option was on the table. Rewrite it to explain plainly how the assets are licensed and why: open reuse for any purpose with attribution, the same reasoning as the permissive software license.
Across the page, list research users before institutional and commercial ones. In the assets section, lead with researchers and universities; in the scientific-software examples, put institutions before companies.
@timlichtenberg

timlichtenberg commented Jun 9, 2026

Copy link
Copy Markdown
Member Author

Requesting review from @shorttle, @egpbos, and @maraattia as well. Your input on the wording and the licensing position is very welcome here, as in #683.

@timlichtenberg timlichtenberg marked this pull request as ready for review June 9, 2026 06:59
@timlichtenberg timlichtenberg requested a review from a team as a code owner June 9, 2026 06:59
@nichollsh

Copy link
Copy Markdown
Member

I agree that this can probably close issue FormingWorlds/PROTEUS#683. However, we should ensure that all module are updated with:

  1. a link to this new page in their docs
  2. a clear license and brief explanation in their readme, independent of their docs
  3. the "appropriate credit" as promised in the new license page

@timlichtenberg

Copy link
Copy Markdown
Member Author

Agree, though this can only happen once this PR is merged.

@egpbos egpbos left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a super well motivated and thorough document. I fully support it.

Some suggestions below for consideration based on discussion in FormingWorlds/PROTEUS#683

Comment thread _pages/license.md Outdated
Comment thread _pages/license.md
@stuitje

stuitje commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

I agree that this can probably close issue FormingWorlds/PROTEUS#683. However, we should ensure that all module are updated with:

1. a link to this new page in their docs

2. a clear license and brief explanation in their readme, independent of their docs

3. the "appropriate credit" as promised in the new license page

Agreed. I will do this this and next week (I'll try to be as fast as possible, but working across many repositories takes some time). Since I am delayed on VULCAN I will also add it to my next VULCAN PR.

@stuitje

stuitje commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

I built the website locally and read the page; I am of course not very experienced with all these legal things so my opinion can be taken with a grain of salt, but I think it's a good call to stay on Apache 2.0 to avoid these copyleft issues with PROTEUS itself. I think the page looks great and reads very clearly, even to laymen (laywomen?) like me :) So from my perspective it can be merged.

stuitje
stuitje previously approved these changes Jun 9, 2026
@timlichtenberg

Copy link
Copy Markdown
Member Author

Thanks @egpbos, both suggestions applied: the page now opens with a short "In brief: our core values" summary (open science + collaborative science), followed by a statement-style index that links down to each section. I've marked your comments as resolved.

The last push dismissed the earlier approval, so we need one more confirming review before this can merge, @stuitje @nichollsh whenever you get a chance :)

@stuitje

stuitje commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

Thanks @egpbos, both suggestions applied: the page now opens with a short "In brief: our core values" summary (open science + collaborative science), followed by a statement-style index that links down to each section. I've marked your comments as resolved.

The last push dismissed the earlier approval, so we need one more confirming review before this can merge, @stuitje @nichollsh whenever you get a chance :)

done!

@timlichtenberg timlichtenberg merged commit e7eaee9 into main Jun 9, 2026
@timlichtenberg timlichtenberg deleted the tl/license-page branch June 9, 2026 14:21
@github-project-automation github-project-automation Bot moved this from In Progress to Done in PROTEUS Development Roadmap Jun 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Confirm licensing and copyright policy across PROTEUS framework

4 participants